Broadcasters and professionals who produce video material use digital video effects (DVE) generators to enhance the capabilities of their video productions to catch a viewer's attention, to communicate, to entertain, and to instruct. A typical DVE inputs a foreground video signal and a background video signal. It geometrically transforms the foreground signal and then layers the transformed video over the background signal to produce a video output. These effects switch from one video signal (source) to a second video signal (source) over a short time period, typically from one-half second to two seconds. Perhaps the simplest transition effect is to slide the first video source off the screen, revealing the second video source behind it. Those who make video programs have for years desired an inexpensive DVE, which they can easily use to quickly produce any imaginable transition effect, running in real time with live-action video. Presently, however, the typical DVE is expensive, and only capable of a small, limited set of video effects.
Particle explosion effects are one class of desirable transition effects. A first video source appears to fragment into many small pieces which fly away along independent trajectories. The effect reveals the second video source, which remains stationary in the background, as particles of the first video fly away and off the screen. Preferably, in the most general case, a DVE should permit one to control the effect in such a way that individual particles can be set into motion at different times on different parts of the screen. Such control permits a wide range of explosion effects, including explosions centered anywhere on the screen, or dispersement of particles giving the illusion that a gust of wind suddenly kicked up blowing away particles of video.
Burst effects are another highly desirable transition effect. In one type of burst effect, the first video source remains stationary while video `rays` of the second video source burst outward from a central point and fill up the screen to totally cover the first video source. These effects are more visually pleasing when the `rays` can fly out at different times in a staggered fashion. A second type of burst effect removes the first video source by splitting it into rays of video that burst outward and off the screen. This process uncovers the second video, which remains stationary in the background. Again it is highly desirable in this kind of effect that the busts of rays fly away at different times in a staggered fashion.
Texture effects, painterly effects, and refraction effects are highly desirable non-transition effects. Rather than producing a transition from one video source to a second, these effects change the appearance of a single video source. Texture effects should give a video source the look of being painted onto a textured surface, such as a brick wall, a plastered wall, woven fabric, a tiled floor, etc. Painterly effects give video the look of being painted or drawn by an artist. Refraction effects give a video source the appearance of being viewed through a transparent surface, such as water droplets on a mirror, a rippling water surface, soap bubbles, beveled glass tiles, and so forth.
Presently, typical DVE's are capable of only limited numbers of such effects. For example, particle explosion effect DVE's use high end, polygon-based architectures to produce their effects. Polygon processing is a computationally expensive task, and so requires expensive hardware to implement.
Texture effects, painterly effects, and refraction effects for live video generally are less sophisticated. One method for producing texture effects uses partial dissolves between video and a still image of a desired texture. Another technique uses 3-D lighting models to produce highlights on video, giving the effect that the video was mapped onto a textured surface. Painterly effects can be produced by a technique called posterization, wherein color information is removed, thereby using only a fraction of the total colors available. Another technique called mosaic tiling sets pixels within a rectangular block to have the same color during one frame of video.
Burst effects processing is typically performed with warp-based DVE's. A warp-based DVE produces transition effects with warp tables to generate curved effects such as wavy shapes, page turn effects, and cylinder effects. Before describing how traditional warp hardware operates, a brief overview of the processing which occurs in a typical DVE to produce video effects will be presented.
Referring to the block diagram of FIG. 10, a DVE receives a foreground video signal. For an NTSC formatted signal, the video signal consists of a sequence of frames, with 525 scan lines per frame, at thirty frames per second. In addition, each frame is composed of two interlaced fields of 262.5 scan lines per field. The even-numbered scan lines (commonly referred to as the first field of the video frame) are sampled, typically at 720 samples (or pixels) per scan line, and stored in a first static transformation RAM, while the odd-numbered scan lines (commonly referred to as the second field of the video frame) are stored in a second static transformation RAM. This allows processing of a video frame in pipeline fashion; while one field is being read in, the other field is read out. Other video standards include SECAM (sequential chrominance signal with memory) and PAL (phase alternating line). These systems use 625 lines per frame at 25 frames per second.
A finite impulse response (FIR) filter and interpolator serve to maintain video picture quality during resampling. The FIR filter is a low pass filter controlled by the address generator to block frequency components in the input video which are greater than one-half the resampling frequency of the address generator, vis-a-vis the Nyquist criterion. The interpolator uses fractional bits produced by the address generator, permitting the discrete nature of the transformation RAM to be treated as a continuous field of input pixel values.
There are two methods of transforming an input image: forward mapping and inverse mapping. Output images produced by inverse mapping are generally of higher quality than images produced by forward mapping for comparably configured systems. Thus, most all DVE's use inverse mapping. Referring to FIG. 10, the address generator produces addresses to read out the transformation RAM by transforming a sequence of raster-order addresses to produce a new sequence of addresses. The new sequence of addresses (readout addresses) is then used to read out the transformation RAM, a process known as image resampling. Finally, the generated output is mixed with the background video in accordance with a key signal, also produced by the address generator. It is noted that a large measure of the final video effect is due to the sequence of readout addresses generated.
A warp-driven DVE utilizes warp tables to produce readout addresses to create a desired effect in the output image by specifying, in one or more lookup tables, a geometric transformation of the input. Warp tables are typically used for generating various effects, such as page turn, meltdowns, burst, circular waves (splash effect), and swirls. For example in U.S. Pat. No. 5,233,332 to Watanabe et al., a system for generating page turn effects includes a read address generator (14, FIGS. 3 and 8) that employs lookup tables which are addressed (indexed) by a measure of the distance between a point and a line. The outputs of the lookup tables are then used to offset output coordinates to produce readout addresses (inverse mapping).
Most warp-based DVE's operate in this or a similar mode; the differences being how the warp table addresses are computed and how the output of the warp table is used to produce a read-out address. For example, a meltdown effect involves addressing a warp table by computing the distance to a line to retrieve a scaling factor, and scaling a pixel-to-line vector which is then used to offset output coordinates. A burst effect is produced by obtaining scale factors from a warp table based on computed angles around a point and scaling a pixel-to-point vector to offset output coordinates. Circular waves require a distance-to-a-point measurement to address the warp table, and scaling of a pixel-to-point vector. Swirls are produced by indexing the warp table with distance-to-point measurements, and rotating output coordinates around a point based on the output of the warp table.
Video effects using warp table architectures are cost effective as compared to polygon-based 3D systems. It is therefore desirable to provide a warp-driven system which is capable of producing a variety of video effects, including effects not currently available in existing warp-driven systems and effects which are not possible in today's warp-based DVE's. It is also desirable to have a DVE which can provide a full suite of video effects in a cost effective system, and which can produce such effects on live-action video in real time. It is also desirable to provide a DVE which can be easily and readily configured to produce different video effects on live-action video.